package com.dongzili.query.custom.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dongzili.query.common.annotation.MapperAndService;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
* 资源_目录 关联表
* &#064;TableName s_relation
*/
//@DS("wlxt")
@MapperAndService
@Data
@TableName(value ="public.s_relation")
public class Relation {

    // 主键策略：AUTO（PostgreSQL自增字段通常使用SERIAL类型）
    @TableId(value = "id", type = IdType.AUTO) // 字段名小写（无引号）
    private Integer id;

    /** 资源code */
    @TableField("rescode") // 字段名小写（无引号）
    private String resCode;

    /** 章节id */
    @TableField("tbcatalogid")
    private Integer tbCatalogID;

    /** 章节路径 */
    @TableField("tbcatalogpath") // 原TbCatalogPath → 小写+下划线（需匹配数据库字段）
    private String tbCatalogPath;

    /** （暂无用） */
    @TableField("tbcatalogpaths")
    private String tbCatalogPaths;

    /** 版本ID */
    @TableField("versionid")
    private Integer versionID;

    /** 版本名称 */
    @TableField("versionname")
    private String versionName;

    /** 类别id */
    @TableField("libraryid")
    private Integer libraryID;

    /** 类别名称 */
    @TableField("libraryname")
    private String libraryName;

    /** 类型id */
    @TableField("restypeid")
    private Integer resTypeID;

    /** 类型名称 */
    @TableField("restypename")
    private String resTypeName;

    /** 类型父id */
    @TableField("restypepid")
    private Integer resTypePID;

    /** 学段id */
    @TableField("termid")
    private Integer termID;

    /** 学段名称 */
    @TableField("termname")
    private String termName;

    /** 学科id */
    @TableField("subjectid")
    private Integer subjectID;

    /** 学科名称 */
    @TableField("subjectname")
    private String subjectName;

    /** 格式 */
    @TableField("format")
    private String format;

    /** 格式名称 */
    @TableField("formatname")
    private String formatName;

    /** 下载次数 */
    @TableField("dloadtimes")
    private Integer dLoadTimes;

    /** 分享次数 */
    @TableField("sharetimes")
    private Integer shareTimes;

    /** 点击次数 */
    @TableField("clicktimes")
    private Integer clickTimes;

    @TableField("sctimes")
    private Integer sCTimes;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonProperty("createTime")
    @TableField("createtime") // 原CreateTime → 小写（无下划线，依赖驼峰映射）
    private LocalDateTime createTime;

    /** 是否有效 */
    @TableField("isvalid")
    private Boolean isValid;

    /** 0上架，1下架 */
    @TableField("flag")
    private Boolean flag;

    /** 类型父名称 */
    @TableField("restypepname")
    private String resTypePName;

    /** 章节code */
    @TableField("tbcatalogcode")
    private String tbCatalogCode;

    /** 资源年限 */
    @TableField("resyear")
    private String resYear;

    /** 排序 */
    @TableField("showorder")
    private Integer showOrder;

    /** 是否是精品资源 */
    @TableField("isgoodres")
    private Integer isGoodRes;

    /** 资源名称 */
    @TableField("resname")
    private String resName;

    /** 资源分类（0资源库，1校本资源，2excel导入，3特殊教育） */
    @TableField("restype")
    private Integer resType;

    /** 机构id */
    @TableField("orgid")
    private Integer orgID;

    /** 是否是校本资源 */
    @TableField("isxbres")
    private Integer isXBRes;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonProperty("modifyTime")
    @TableField("modify_time") // 下划线命名（匹配数据库字段）
    private LocalDateTime modifyTime;

}
